package com.ceair.flight.refund.service;

import com.ceair.flight.refund.dto.external.ApplyRequest;
import com.ceair.flight.refund.dto.external.ApplyResponse;
import com.ceair.flight.refund.dto.external.RefundApplyRequest;
import com.ceair.flight.refund.dto.external.RefundApplyResult;
import com.ceair.flight.refund.location.model.RefundApplyDO;
import com.ceair.flight.refund.location.model.RefundTktDO;

public interface IRefundTicketService {

    boolean recalFeeService(RefundApplyDO refundApplyDO, RefundTktDO refundTktDO);

    /**
     * 申请退票
     * <p>
     * 异常改造
     *
     * @param applyRequest
     * @return 在票不可退的情况下, 抛出非检查类型异常
     */
    ApplyResponse applyRfdTkt(ApplyRequest applyRequest);

    RefundApplyResult applyRefund(RefundApplyRequest request);

}
